Mifare 1k S50卡

背景:最近的项目中涉及到读写M1卡,之前完全没接触过一脸懵逼,却没意识到,生活中常用的公交卡、门禁卡、开水卡、会员卡等等大多数都是M1类的射频卡,如Mifare 1k S50系列。熟悉了相关知识后,发现原理如此简单,感谢开源也因此能做很多方便的事情了。记录一下,面对陌生的事物不要害怕,了解熟悉,探索乐趣。

基础知识

M1卡

M1卡结构

M1卡结构

从上面可以看到,扇区0 块0固化了厂家代码,32位16进制数,一般作为ID使用。

每一个扇区的块3用于保存KEY A,存取控制,KEY B,除了扇区0的块0之外的其他的块0~块2都用于存储数据。KEY A不可读、可写,KEY B可读可写.

一般的门禁卡中,不存储任何数据,门禁系统只读取卡ID,学校里使用的开水卡,一般是离线使用,卡的余额或者使用次数是存储在卡中的,使用时进行读写。在武汉通中,存储了卡余额,储值、消费记录,具体的余额存储在服务器上。所以理论上可以模拟卡ID来模拟门禁卡,或者是读取修改水卡值来修改卡。

读写卡工具MIFARE Classic Tool, MifareClassicTool - GitHub

模拟卡工具NFC卡模拟

相关文章

Mifare 1k S50 卡的简单探讨与破解